﻿#region 直角三角形方法1

Console.WriteLine("请输入想要得到的直角三角形的行数");
int m = int.Parse(Console.ReadLine());
Console.Clear();
for (int i = 0, x = 1; i < m; i++, x++)
{
    for (int b = 0; b < m - x; b++)
    {
        Console.Write("  ");
    }
    for (int k = 0; k < x; k++)
    {
        Console.Write("■");
    }
    Console.WriteLine("");
}

#endregion

#region 直角三角形方法2

Console.WriteLine("请输入想要得到的直角三角形的行数");
int y = int.Parse(Console.ReadLine());
int t;
Console.Clear();
for (int i = 0; i < y; i++)
{
    t = y;
    for (int j = 0; j <= i; j++, t--)
    {
        Console.SetCursorPosition((t - 1) * 2, i);
        Console.Write("■");
    }
    Console.WriteLine("");
}

#endregion

#region 等腰三角形

Console.WriteLine("请输入想要得到的等腰三角形的行数");
int z = int.Parse(Console.ReadLine());
int c, v;
Console.Clear();
for (int i = 0; i < z; i++)
{
    c = z; v = z;
    for (int j = 0; j <= i; j++, c--, v++)
    {
        Console.SetCursorPosition((c - 1) * 2, i);
        Console.Write("■");
        Console.SetCursorPosition((v - 1) * 2, i);
        Console.Write("■");
    }
    Console.WriteLine("");
}

#endregion

Thread.Sleep(1000000);